package com.kgc.scd.service;/**
 * <p>
 *
 * </p>
 *
 * @author shelina
 * @since 2022/11/4
 */

import com.kgc.scd.bean.User;
import com.kgc.scd.bean.UserVO;

import java.util.Map;

/**
 * Created On : 2022/11/4.
 * <p>
 * Author : Administrator
 * <p>
 * Description: WechatPayService
 */
public interface WechatPayService {
    /**
     * @author : Administrator
     * @date   : 2022/11/4
     * @param  : []
     * @return : java.lang.String
     * @description : 生成请求微信支付的统一下单接口参数 ，xml格式字符串
     */
    String generateWxpayUnitfyOrderXmlParams(String productBody,int totalFee,String token) throws Exception;

    /**
     * @author : Administrator
     * @date   : 2022/11/10
     * @param  : [unifyOrderXmlParams]
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @description : 请求微信支付统一接口，生成预支付单，获取下单结果
     */
    Map<String,String> getWechatPayUnifyOrderResult(String unifyOrderXmlParams) throws Exception;


    /**
     * @author : Administrator
     * @date   : 2022/11/11
     * @param  : [wxpayNotifyXmlResult]
     * @return : java.lang.String
     * @description : 解析异步回调结果，通知微信官方的回调结果
     */
    String getReturnWechatXllResult(String wxpayNotifyXmlResult) throws Exception;

    /**
     * @author : Administrator
     * @date   : 2022/11/17
     * @param  : [userVo]
     * @return : java.lang.String
     * @description : 查询当前用户的会员到期时间
     */

    String findUserMemberDate(UserVO userVo);

    /**
     * @author : Administrator
     * @date   : 2022/11/17
     * @param  : [user]
     * @return : boolean
     * @description : 更新会员时间
     */
    boolean modUser(User user);

}
